package queue

type FILO []interface{}

func (q *FILO) Push(value interface{}) interface{} {

	*q = append(*q, value)
	return value
}

func (q *FILO) Pop() interface{} {

	if len(*q) == 0 {
		return nil
	}

	i := (*q)[0]
	*q = (*q)[1:]
	return i
}

func (q *FILO) IsEmpty() bool {

	return len(*q) == 0
}
